package com.gsit.ocrbatch.domain;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;

import com.gsit.ocrbatch.utils.EmailType;

public class EmailMessage implements Serializable{
	private List<String> receipientList = new ArrayList<String>();
	private String from;
	private String emailSubject; 
	
	//Email body is actual content 
	private String emailBody; 
	private EmailType emailType;  
	private List<FileAttachment> attachments = new ArrayList<FileAttachment>();
	private Map<String, Object> templateVariables = new Hashtable<String, Object>();
	private String mailTemplateFileName="";
	
	public List<String> getReceipientList() {
		return receipientList;
	}
	public void setReceipientList(List<String> receipientList) {
		this.receipientList = receipientList;
	}
	
	public void addReceipientList(String receipient) {
		this.receipientList.add(receipient);
	}
	
	public String getFrom() {
		return from;
	}
	public void setFrom(String from) {
		this.from = from;
	}
	public String getEmailSubject() {
		return emailSubject;
	}
	public void setEmailSubject(String emailSubject) {
		this.emailSubject = emailSubject;
	}
	public String getEmailBody() {
		return emailBody;
	}
	public void setEmailBody(String emailBody) {
		this.emailBody = emailBody;
	}
	
	public Map<String, Object> getTemplateVariables() {
		return templateVariables;
	}
	public void setTemplateVariables(Map<String, Object> templateVariables) {
		this.templateVariables = templateVariables;
	}
	public void addTemplateVariables(String key, Object value) {
		this.templateVariables.put(key, value);
	}
	
	
	public List<FileAttachment> getAttachments() {
		return attachments;
	}
	public void setAttachments(List<FileAttachment> attachments) {
		this.attachments = attachments;
	}
	
	public void addAttachments(FileAttachment attachment) {
		this.attachments.add(attachment);
	}
	
	public EmailType getEmailType() {
		return emailType;
	}
	public void setEmailType(EmailType emailType) {
		this.emailType = emailType;
	}
	public String getMailTemplateFileName() {
		return mailTemplateFileName;
	}
	public void setMailTemplateFileName(String mailTemplateFileName) {
		this.mailTemplateFileName = mailTemplateFileName;
	}
	
}
